package com.sunshine.lnuplusweb.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 颜色池工具类
 */
public class ColorUtils {
    //用一个表存储颜色和课程的ID对应 k:课程ID，v:颜色代码
    private Map<String, String> colorMap;

    //存储颜色的列表
    private List<String> colorList;

    public ColorUtils(){
        colorMap = new HashMap<>();
        colorList = new ArrayList<>();
        initColorList();
    }

    /**
     * 获取颜色
     * 如果列表中有该课程ID，则返回颜色，如果没有则新增返回颜色
     * @param lessonId
     */
    public String getColor(String lessonId){
        if (!colorMap.containsKey(lessonId)){
            //和10取模防止越界，一共就十种颜色
            colorMap.put(lessonId, colorList.get(colorMap.size() % 10));
        }
        return colorMap.get(lessonId);
    }

    /**
     * 向颜色列表中添加颜色
     * 你可以改变这里的RGB值来改变默认课程格子颜色
     */
    private void initColorList() {
        colorList.add("#980000");
        colorList.add("#8e7cc3");
        colorList.add("#ff9900");
        colorList.add("#ffff00");
        colorList.add("#674ea7");
        colorList.add("#ffe599");
        colorList.add("#674ea7");
        colorList.add("#3c78d8");
        colorList.add("#ff00ff");
        colorList.add("#6aa84f");
    }
}
